﻿using System;
using System.Collections.Generic;

namespace GeoAPI.CoordinateSystems.Transformations
{
	public interface IMathTransformFactory
	{
		IMathTransform CreateAffineTransform(double[,] matrix);

		IMathTransform CreateConcatenatedTransform(IMathTransform transform1, IMathTransform transform2);

		IMathTransform CreateFromWKT(string wkt);

		IMathTransform CreateFromXML(string xml);

		IMathTransform CreateParameterizedTransform(string classification, List<Parameter> parameters);

		IMathTransform CreatePassThroughTransform(int firstAffectedOrdinate, IMathTransform subTransform);

		bool IsParameterAngular(string parameterName);

		bool IsParameterLinear(string parameterName);
	}
}
